// 入口函数
$(function () {
    // 需求1：定义校验规则
    let form = layui.form
    // form对象中有一个方法verify专门定义
    // 参数是对象类型：属性是规则名称，值
    form.verify({
        nickname: [
            /^[\S]{1,10}$/,
            '昵称的长度为1-10个字符'
        ]
    })


    // 需求2：渲染用户信息-封装函数，后面还会用  函数不调用 不执行
    // let form = layui.form

    let layer = layui.layer
    initUserInfo()
    function initUserInfo() {
        axios({
            method: 'GET',
            url: "/my/userinfo",
        }).then(({ data: res }) => {
            // console.log(res);

            // 判断
            if (res.status !== 0) {
                return layer.msg(res.message)
            }
            // layer.msg(res.message)
            /* 根据官网，为form表单赋值
            内置模块-表单-表单赋值/取值 */
            form.val('formUserInfo', res.data)

        })
    }

    // 需求3 重置功能
    // $('#btnReset').on('reset', function (e) {
    $('#btnReset').on('click', function (e) {
        e.preventDefault()
        // 重新渲染表单
        initUserInfo()
    })


    // 需求4.修改用户信息
    $('form').on('submit', function (e) {
        e.preventDefault()
        axios({
            method: 'post',
            url: '/my/userinfo',
            // 设置了参数：根据参数类型会设置头部 信息；a=1&b=2&c=3
            data: $(this).serialize()
        }).then(({ data: res }) => {
            console.log(res);
            if (res.status != 0) {
                return layer.msg(res.message)
            }
            // 成功提示
            layer.msg(res.message)
            // 直接调用无效，不是同一个window
            window.parent.getUserInfo()
        })
    })
})